home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / os2 / epmgcc30.zip / GCC.DOC < prev    next >
Text File  |  1996-07-06  |  13KB  |  307 lines

  1.               EPM 6.03 Interface to EMX/GCC, ICC, and other compilers
  2.  
  3.                              EPMGCC Version  3.00
  4.  
  5.                                Bernhard Bablok
  6.  
  7.                                  July, 1996
  8. History:
  9. ~~~~~~~
  10. 3.00: - Non 32bit versions of EPM are no longer supported.
  11.       - Added support for IBM's Visual Age C++.
  12.       - New menu option "Save settings": if this option is checked, all settings
  13.         (menu options, compile/build options, current parser module) are saved
  14.         inbetween sessions in EPM.INI. The only exception are the last five
  15.         opened projects, they are saved independently of this switch.
  16.       - UNLINK now works with relative pathnames, therefore all occurences of
  17.         GCC_MACRO_PATH have been removed from the macros.
  18.       - All universal variables now start with gcc_. Therefore, all *set.e macros
  19.         have to be changed (see below for details).
  20.  
  21. 2.10: (Never publicly released)
  22.       - Support for EPM 6.0x (the 32bit version of EPM) added (mainly support
  23.         for calling EPMGCC-commands from the toolbar)
  24.       - New menu-option "Select Project". The last five projects are saved in
  25.         EPM.INI and are available from a listbox.
  26.       - Runtime arguments are now also available for "Debug Exe"
  27.       - Runtime arguments are saved inbetween sessions in EPM.INI
  28.       - "Open Project" is now available from the menu, even if a project is
  29.         already open. Opening a new project just closes the old one.
  30.       - Good news for 4OS2-users: no more problems with the start command (is
  31.         this correct (I don't use it)?). Cristoph Spiel from Munich proposed
  32.         a solution which also works with the standard OS/2 start command, so
  33.         I changed the code.
  34.       - Some minor bug corrections
  35.  
  36. 2.00: - Design change: the error-parser is loaded as a seperately module. This
  37.         allows for changing the compiler and parser at runtime. Parser modules
  38.         are included for GCC, BCC, ICC and IPFC.
  39.       - The makefile maintenance utility epro.cmd is now distributed seperately
  40.         (Available as epro.zip, added some new functionality).
  41.  
  42. 1.10: - Bug fixes in gccproc.e (didn't work with makefiles without extensions,
  43.         "View Results" would repeatedly load the same file into the editor)
  44.       - New menu toggle "Remove .err-files automatically" (before every compile
  45.         or build all .err-files are removed automatically from the edit-ring)
  46.  
  47. 1.00: - first public release
  48.  
  49.  
  50. Credit:
  51. ~~~~~~
  52. Credit has to be given to Jon Hacker who wrote EPMTEX, the TeX interface to EPM.
  53. Some of the ideas are taken from his excellent
  54. work. With his code as a basis, the development of this application was straight
  55. forward. Any errors and oversights are nevertheless my fault.
  56.  
  57.  
  58. Disclaimer:
  59. ~~~~~~~~~~
  60. See the attached license.txt file. It is a modification of Jon's file included
  61. with EPMTEX, which in turn is copied more or less from IBM's license agreement.
  62.  
  63.  
  64. Introduction:
  65. ~~~~~~~~~~~~
  66. Although I hate fighting my way through menues and submenues and subsubmenues I
  67. did miss some of the features of Microsoft's Programmer's Workbench when working
  68. with the GNU c-compiler.  So I tried to facilitate programm development with the
  69. help of some REXX and E-macros.
  70.  
  71. After getting access to the EPMTEX-package of Jon Hacker which adds menu-support
  72. for TeX to EPM, I decided to build a full featured GCC-interface in a similar
  73. way.
  74.  
  75. With EPMGCC you can compile (and link) files, build projects, maintain makefiles
  76. and so on without leaving the editor. Since compile- and make-results are piped
  77. to an error-file, it is possible to move from error to error simply by pressing
  78. a predefined key combination. The cursor is positioned on the correct line (i.e.
  79. the line with the error). All source-files are loaded into the edit-ring
  80. automatically if necessary.
  81.  
  82. Although EPMGCC was designed as an interface to the GCC-compiler, it is
  83. now possible to use any compiler which generates reasonable error-messages.
  84. The user only has to define two e-macros: the error-parser and a configuration
  85. macro. This should be no difficulty (see the samples provided in this
  86. distribution).
  87.  
  88. Installation:
  89. ~~~~~~~~~~~~
  90. See the file INSTALL.DOC for a description how to install EPMGCC and how to
  91. configure and recompile the macros for epm. Don't panic, it is less complicated
  92. than it seems!
  93.  
  94.  
  95. Configuration:
  96. ~~~~~~~~~~~~~
  97. EPMGCC offers three levels of configuration. The basic configuration file
  98. gccenv.e defines constants and defaults for various settings.
  99.  
  100. Configuration macros (provided are gccset.e, bccset.e, iccset.e, iccset2.e,
  101. vacppset.e, vacppst2.e and ipfset.e) can be used to define the utilities
  102. (compiler, make, debugger) which are invoked by the various menu-selections and
  103. default values for the compile/build-options.
  104.  
  105. You have to edit the *set.e macros to suit your needs. Once they are compiled
  106. they are used like any epm command: invoke the EPM-command-line (CTRL-i) and
  107. just type (for example) `ipfset`.  This will configure the editor to use IBM's
  108. information presentation facility compiler in a compile.  The error-parser
  109. will also be able ble to in terpret the error-messages of ipfc.
  110.  
  111. NOTE: IF YOU HAVE MODIFIED THE *SET.E MACROS, YOU NEED TO MAKE THE FOLLOWING
  112.       CHANGES FOR VERSION 3.00:
  113.       REPLACE edit_command      WITH  gcc_edit_cmd
  114.       REPLACE compile_command   WITH  gcc_compile_cmd
  115.       REPLACE build_command     WITH  gcc_build_cmd
  116.       REPLACE debug_command     WITH  gcc_debug_cmd
  117.       REPLACE want_translate    WITH  gcc_translate
  118.       ALSO, GCC_MACRO_PATH IS NO LONGER NECESSARY AND CAN BE REMOVED.
  119.  
  120.  
  121. Toggles for debug mode, autosave mode, verbose (test), the automatic removal of
  122. error-files and save settings mode can be changed at runtime. They are saved
  123. from session to session if save settings is checked.
  124.  
  125. Details about configuration can be found in the file INSTALL.DOC and in the file
  126. gccenv.smp.
  127.  
  128. Description of menu-items:
  129. ~~~~~~~~~~~~~~~~~~~~~~~~~
  130.  
  131. > Open Project
  132.  
  133.   Pops up an entrybox asking for the name of a makefile.  The makefile need not
  134.   exist.  All results of make will be piped to a file with the same base name
  135.   and extension ".err". Any open project is closed automatically.
  136.  
  137.  
  138. > Select Project
  139.  
  140.   EPM keeps a record of the last five opened projects. Selecting this menu item
  141.   will present a listbox, from which a project can be selected (opened).
  142.  
  143.  
  144. > Edit Project
  145.  
  146.   If you decide to use EPRO, this selection starts the VREXX-script epro.cmd,
  147.   the makefile maintenance-utility. Depending on your configuration of EPMGCC,
  148.   this might only load the makefile into the edit-ring (starting with version
  149.   2.00, EPRO is available as a seperate package).
  150.  
  151.  
  152. > Close Project
  153.  
  154.   Close the current project.
  155.  
  156.  
  157. > Set Compile Options (c-F11)
  158.  
  159.   This menu-choice defines the compile options used with "Compile Current File"
  160.   depending on the setting of "Debug Mode" (see below). The options are passed
  161.   directly to gcc (or icc...) with the following execptions:
  162.  
  163.   %*   is replaced with the fully qualified filename of the current file
  164.   %**D is replaced with the drive letter and colon
  165.   %**P is replaced with the path including drive and trailing '\'
  166.   %**F is replaced with filename and extension (without path)
  167.   %**N is replaced with the filename only
  168.   %**E is replaced with the extension
  169.  
  170.   Examples:
  171.  
  172.   -c -g2 %*                 Compile current file, add debug information.
  173.   -O2 -o %**P%**N.exe %*    Compile current file and link. The exe-file has the
  174.                             same base name as the current file.
  175.   -O2 -o c:\bin\%**N.exe %* Identical to the second example, but places the exe-
  176.                             file into the c:\bin directory.
  177.  
  178.  
  179. > Compile Current File (c-F12)
  180.  
  181.   Depending on the setting of "Debug Mode" either compiles the current file with
  182.   the debug or production options in effect. The options can be changed with
  183.   "Set Compile Options".
  184.  
  185.  
  186. > Set Build Options (s-F11)
  187.  
  188.   Define options passed to the make utility. The same replacement s